Page({
    data: {
        userRole: null,
        pageData: null
    },

    onLoad() {
        const userInfo = wx.getStorageSync('userInfo');
        const role = userInfo ? userInfo.role : null;
        
        if (!role) {
            // 未知角色或未登录，跳转到登录页
            wx.redirectTo({
                url: '/pages/login/login'
            });
            return;
        }

        // 设置角色
        this.setData({ userRole: role });
    },

    onShow() {
        if (typeof this.getTabBar === 'function' && this.getTabBar()) {
            this.getTabBar().setData({
                selected: 0
            });
            // 调用自定义 tabBar 的 show 方法
            this.getTabBar().show();
        }
    },

    redirectToRolePage() {
        const userInfo = wx.getStorageSync('userInfo');
        const role = userInfo ? userInfo.role : null;
        
        if (!role) {
            // 未知角色或未登录，跳转到登录页
            wx.redirectTo({
                url: '/pages/login/login'
            });
            return;
        }

        // 设置角色
        this.setData({ userRole: role });

        // 使用 switchTab 而不是 redirectTo
        if (role === 1) {
            // 教师角色，跳转到课程页面
            wx.switchTab({
                url: '/pages/course/course'
            });
        } else if (role === 2) {
            // 学生角色，跳转到学生主页
            wx.switchTab({
                url: '/pages/student_home/student_home'
            });
        }
    },

    loadPageByRole() {
        const userInfo = wx.getStorageSync('userInfo');
        const role = userInfo ? userInfo.role : null;
        
        // 获取对应页面的实例
        const pageInstance = role === 1 ? 
            require('../course/course.js') : 
            require('../student_home/student_home.js');

        // 设置页面数据和角色
        this.setData({
            userRole: role,
            pageData: pageInstance.data || {}
        });

        // 将页面的方法混入到当前页面
        if (pageInstance.methods) {
            Object.keys(pageInstance.methods).forEach(key => {
                this[key] = pageInstance.methods[key];
            });
        }

        // 调用页面的生命周期方法
        if (role === 1) {
            this.loadCourses();
        } else if (role === 2) {
            this.checkFaceRegistration();
            this.loadUpcomingCheckins();
            this.loadCourses();
        }
    }
}); 